package org.example.wumeng.service;

import org.example.wumeng.pojo.Doctor;
import org.example.wumeng.pojo.Result;

import java.util.List;
import java.util.Map;

public interface T_doctorService {

    /**
     * 分页查询医家列表
     * @param page 页码
     * @param size 每页大小
     * @param name 医家姓名（模糊查询）
     * @param speciality 专长（模糊查询）
     * @return 分页结果
     */
    Map<String, Object> getList(Integer page, Integer size, String name, String speciality);

    /**
     * 根据ID获取医家详情
     * @param id 医家ID
     * @return 医家信息
     */
    Doctor getById(Long id);

    /**
     * 创建医家
     * @param doctor 医家信息
     * @return 创建的医家ID
     */
    Long create(Doctor doctor);

    /**
     * 更新医家信息
     * @param id 医家ID
     * @param doctor 医家信息
     */
    void update(Long id, Doctor doctor);

    /**
     * 删除医家
     * @param id 医家ID
     */
    void delete(Long id);

    /**
     * 根据专长统计医家数量
     * @param speciality 专长
     * @return 医家数量
     */
    Long countBySpeciality(String speciality);

    Result<List<Doctor>> getBySpeciality(String speciality, int page, int size);

    /**
     * 获取专长统计
     */
    Result<List<Map<String, Object>>> getSpecialityStatistics();
}
